home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 1
/
Cream of the Crop 1.iso
/
EDITOR
/
AMAC44.ARJ
/
MSG002.QM
< prev
next >
Wrap
Text File
|
1992-06-22
|
14KB
|
285 lines
* msg002.qm
* Macros To Format/Quote Message Reader Messages & Split Paragraphs
* Written By Tom Hogshead
* [ See MSGxx.QM For Use ]
* 6/22/92
* Key Subfile Description
* ===== ========== =================================================
* @8 Format/Quote Message Retaining Sender Initials ( ) |chg
*
* {e:\up\MSG??} Return To MSGxx.QM
*
*-- eoi
* M A C R O
* -----------------------------------------------------------------------
* @(8) Quote and Format Messages Retaining Sender Initials
* ------- Ver 11a, 243 bytes Thu 06-18-1992 10:41:18 ------------------
* This macro reformats any portion of an offline message reader message
* while retaining sender initials "AB>" and quote character ">".
* 1) - Requires QEdit v2.15.
* 2) - Macro execution speed on my 12 mhz AT is approximately 60 lps.
* 3) - All message text of lines containing any type open or closed
* block marked *before* invoking this macro will be reformatted
* without pause. If no block is marked before invoking, the
* macro pauses for the user to select the block end by cursoring
* down and pressing <enter>.
* 4) - Character '>' in columns 1-16 MUST be quote character only.
* 5) - Quote character must be '>' and MUST exist on quote line 1.
* 6) - Ascii #173 must NOT exist in file.
* 7) - Marked message is reformatted to a right margin of 60
* exclusive of sender initials and quote character.
* 8) - Message text indention and outdention is maintained.
* 9) - Multiple paragraphs may be quoted and formatted at same time.
* 9a)- Different initials may be in front of first line of each
* paragraph.
* 10) - Handles multiple initials like AB>CD>EF> up to column 15.
* 11) - Operates irrespective of all toggles and qconfig settings.
* 12) - Replaces "period space" with "period two spaces" in quote.
* OPTIONS--Macro may be modified to:
* -----------------------------------
* - Have initials in front of quote line 1 only, - Ver a
* - Add one extra space after the quote character ">" by
* uncommenting the commented 'shiftright' line.
* ┌─ MUST be ">" unless macro is changed
* │┌─ #255, space or first letter of message text
* vv
* JB>MC>MW> eeee eeee eeee eeee
* JB>MC>MW> aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa
* JB>MC> bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb
* JB>MC> bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb
* JB>MC> bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb
* JB>cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc
* JB>cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc
* JB>cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc
* JB>cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc
* JB>cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc
* JB>dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd
* BECOMES THIS (with asterisks removed) ...
* JB>MC>MW> eeee eeee eeee eeee
* JB>MC>MW> aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa
* > aaaa
* JB>MC> bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb
* > bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb
* > bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb bbbb
* > bbbb bbbb bbbb bbbb bbbb bbbb
* JB>cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc
* >cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc
* >cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc
* >cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc
* >cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc
* >cccc cccc cccc cccc cccc cccc cccc cccc cccc cccc
* JB>dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd dddd
* >dddd dddd
*--
* Version 11a of @8: COMPLETE
* -------------------------------
@8 macrobegin onewindow savesettings setautoindentmode setsoundoff
setrmargin '60' return togglewordwrap
cursorright gotoblockend jtrue A markline gotoblockend jtrue OK
cursordown makectrofscreen pause jump B
A: gotoblockbeg unmarkblock markline prevposition
B: markline OK:
setscreenoff
addline prevpara endpara endline #173
gotoblockbeg insertline nextpara
findreplace #255 return ' ' return 'LN' return
LOOP: *|
gotocolumn '16' return * Pos past initials
find
'>' return 'BL' return * Test/move to last '>' in initials
jfalse NEXTPARA * Move to next para if no initials *|
COPY_INITIALS:
unmarkblock markcolumn
begline * Finish marking initials
cut * Cut initial set to scrap
paste * Re-insert for single line test
USER_INITIALS:
endpara *|
begline
iscursorinblock
jfalse NOT_SINGLE_LINE * Test true if single line
cut * Re-cut single line initials
jump MARK_BLOCK
NOT_SINGLE_LINE:
markcolumn
gotoblockbeg
deleteblock * Remove initials non-single line
MARK_BLOCK:
dropanchor
endpara dropanchor * Mark para
gotoblockbeg *|
WRAP:
wrappara * Format para *|
gotoblockbeg
shiftright * Make single space for initials
* shiftright * Uncomment for extra space after '>'
cursorup
delline * Remove to add line at block begin
begline
unmarkblock markcolumn
endpara
begline * Finish single column block *|
findreplace * Replace
' ' return * all spaces in block
delline paste return * with initial set
'LNG' return
cursordown
dropanchor * Include blank line in block
gotoblockbeg
REPLACE_PERIOD:
findreplace '.' ' ' return '.' ' ' return 'LN' return
findreplace '.' ' ' return '.' ' ' return 'LN' return
* ---------------------------------------------------------------*
* - Un-Comment These Lines for Initials in Front of Para Line 1 Only --*
* -------------- Remove Initials Line 2 To End Para -------------*
gotocolumn return
find '>' return 'BL' return
jfalse NEXTPARA
cursorleft cursordown
cursorleft *:18
isbegline *:18
jtrue NEXTPARA * True if single initial set *:18
cursorright *:18
gotoblockend
prevposition
unmarkblock markcolumn
prevposition
begline
markcolumn * Close block to empty later *:18
cursorup *:18
iscursorinblock *:18
jtrue FILL * False if single line to quote *:18
gotoblockend * Pos for nextpara *:18
jump NEXTPARA * Bypass fill w/blanks *:18
FILL: *:18
fillblock ' ' return * Remove initials line 2 to end para
* ---------------------------------------------------------------------*
NEXTPARA: *|
nextpara *|
find #173 return delline return *|
jfalse PAST_MARK * False if all para's formatted *|
prevposition *|
insertline cursordown * Insert blank line above new para *|
unmarkblock markline * Mark first line to loop again *|
jump LOOP *|
PAST_MARK: *|
find return 'G' return * Move to marker *|
delch * Delete marker *|
cursordown
delline * Delete added line at end of msg
begline
makectrofscreen
unmarkblock
setrmargin '72' return * Re-set rt margin
restoresettings
*
* 231 bytes Thu 12-19-1991 23:46:33 (TH @6)
* 222 bytes Sat 12-21-1991 12:07:31 (TH @8, to ALL #3/798, Ver #1)
* 206 bytes Sun 12-22-1991 10:41:19 (TH @8, to JB #23/1217, Ver #2)
* 211 bytes Tue 12-24-1991 12:12:00 (TH @8, to ALL, #3/800, Ver #3)
* 204 bytes Thu 12-26-1991 11:22:13 (TH @8, for all cases, Ver #4)
* 230 bytes Thu 12-26-1991 12:14:19 (TH @8, to JM #23/1219 Ver #4a)
* 203 bytes Fri 12-27-1991 15:48:29 (TH @8, chgd to dropanchor, Ver 5)
* 203 bytes Fri 12-27-1991 15:48:29 (TH @8, to ST & MHa, #20/108, Ver 5)
* 152 bytes Sun 12-29-1991 11:10:47 (TH @8, Ver 6c bare bones)
* 192 bytes Sun 12-29-1991 11:08:54 (TH @8, chg'd addlines, Ver 6 )
* 218 bytes Sun 12-29-1991 11:12:54 (TH @8, Ver 6a)
* 192 bytes Sun 12-29-1991 11:08:54 (TH @8, to JB #23/1221 12/30, Ver 6)
* 192 bytes Sun 12-29-1991 11:08:54 (TH @8, to ALL #3/801 12/30, Ver 6)
* 192 bytes Sun 12-29-1991 11:08:54 (TH @8, to MH #20/155, 1/3, Ver 6)
* 192 bytes Sun 12-29-1991 11:08:54 (TH @8, to KB #21/4979, 1/23, Ver 6)
* 151 bytes Sun 01-26-1992 17:30:30 (TH @8, Ver 7c, bare bones)
* 191 bytes Sun 01-26-1992 17:23:54 (TH @8, ver 7, removed 2 addlines)
* (In Amac42.zip)
* 253 bytes Thu 03-26-1992 08:51:26 (TH @8, Ver 8ab, no line on top/bot)
* 194 bytes Thu 03-26-1992 08:58:11 (TH @8, to RO #23/1407, Ver 8.56)
* 194 bytes Thu 03-26-1992 08:58:11 (TH @8, Ver 8)
* 220 bytes Thu 03-26-1992 09:07:55 (TH @8, Ver 8a)
* (In Amac42d.zip)
* 219 bytes Sat 05-16-1992 11:38:54 (TH @8, Ver 9, ins user select inits)
* 245 bytes Sat 05-16-1992 11:24:23 (TH @8, Ver 9a, ins user select inits)
* 245 bytes Sat 05-16-1992 11:24:23 (TH @8, Ver 9a, to ALL #3/847, 5/16)
* (In Amac43.zip)
* 201 bytes Sat 06-13-1992 09:15:24 (TH @8 ver 10 diff inits in para's ok)
* 201 bytes Sat 06-13-1992 09:15:24 (TH @8 ver 10 to SM #21/5338 as @f2)
* 227 bytes Sat 06-13-1992 09:14:51 (TH @8 ver 10a *|)
* 201 bytes Thu 06-18-1992 12:47:33 (TH @8 ver 11 same as ver 10)
* 243 bytes Thu 06-18-1992 10:41:18 (TH @8, corrected for single lines *:18)
* 243 bytes Thu 06-18-1992 10:41:18 (TH @8 ver 11a)
*
* Version 11 of @8: Commented lines removed (same as ver 10)
* ------------------------------------------------------------
* @8 macrobegin onewindow savesettings setautoindentmode setsoundoff
* setrmargin "60" return togglewordwrap
* cursorright gotoblockend jtrue A markline gotoblockend jtrue OK
* cursordown makectrofscreen pause jump B
* A: gotoblockbeg unmarkblock markline prevposition
* B: markline OK:
* setscreenoff
* addline prevpara endpara endline #173
* gotoblockbeg insertline nextpara
* findreplace #255 return " " return "LN" return
* LOOP: *|
* gotocolumn "16" return
* find ">" return "bl" return
* jfalse NEXTPARA *|
* COPY_INITIALS:
* unmarkblock markcolumn begline cut paste
* endpara *|
* begline iscursorinblock jfalse NOT_SINGLE_LINE
* cut
* jump MARK_BLOCK
* NOT_SINGLE_LINE:
* markcolumn gotoblockbeg deleteblock
* MARK_BLOCK:
* dropanchor endpara dropanchor gotoblockbeg *|
* WRAP:
* wrappara *|
* gotoblockbeg shiftright
* * shiftright * Uncomment this line for one extra space after ">"
* CURSORUP DELLINE* Remove line to add line at block begin
* begline unmarkblock markcolumn endpara begline *|
* findreplace " " return delline paste return "LNG" return
* cursordown dropanchor gotoblockbeg
* REPLACE_PERIOD:
* findreplace "." " " return "." " " return "LN" return
* findreplace "." " " return "." " " return "LN" return
* NEXTPARA: *|
* nextpara *|
* find #173 return delline return *|
* jfalse PAST_MARK *|
* prevposition *|
* insertline cursordown *|
* unmarkblock markline *|
* jump LOOP: *|
* PAST_MARK: *|
* find return "g" return delch cursordown begline *|
* DELLINE
* makectrofscreen unmarkblock setrmargin "72" return restoresettings
* *
* * 194 bytes Thu 03-26-1992 08:58:11 (TH @8, ver 8)
* * 201 bytes Sat 06-13-1992 09:15:24 (TH @f2 ver 10 to SM #21/5338 as @f2)
* * 201 bytes Thu 06-18-1992 12:47:33 (TH @8 ver 11 same as ver 10)